1. Field of the Invention
The present invention relates generally to a recording medium that is suitable for use in recording waveform data for electronic musical instruments or computer music, and a tone signal generating method that utilizes the recording medium of the waveforms.
2. Description of Related Art
Today, various types of waveform data are provided for use in electronic musical instruments or computer music. Standard formats such as DLS (Downloadable Sound) (Trademark) and Sound Font (Trademark) are proposed for transferring a set of timbre data through networks or recording media.
The data structure of a timbre set file in DLS is shown in FIG. 2(a). As shown, reference numeral 100 denotes a timbre set file composed of an INFO chunk 101, a WAVE DATA chunk 102, and a PRESET DATA chunk 103. The INFO chunk 101 contains various pieces of information about the timbre set file such as a timbre set name, a label of a creator, and the date of creation.
The WAVE DATA chunk 102 contains sampling values of various types of waveform data. The PRESET DATA chunk 103 contains specific information about timbres. The timbre set file 100 generally stores plural pieces of timbre data, each being associated to a program change event and a bank select event of the GM (General MIDI) standard.
FIG. 2(b) shows an exemplary mapping of the timbre set file 100. In the figure, the horizontal axis represents a program change event and the vertical axis represents a bank select event. The timbre data are stored in a hatched area 105. In the above-mentioned PRESET DATA chunk 103, data blocks called INST blocks are arranged in correspondence to the timbres.
FIG. 3 shows an INST block corresponding to a certain timbre. As shown, the INST block 110 is made up of a number section 111, a parameter section 112, and a pointer section 113. The number section 111 stores the above-mentioned program change and bank select events. The parameter section 112 stores parameters such as envelope waveform, filtering characteristic, and LFO.
The pointer section 113 stores plural pointers for pointing plural region blocks 120, 130, . . . , 190. These region blocks are provided in correspondence to key regions (or pitch regions) and velocity regions of a key touch to generate different waveforms in correspondence to these key regions and velocity regions.
The region block 120 is made up of a region section 121 for storing the region information indicative of the above-mentioned key region and velocity region, a parameter section 122 for storing parameters such as envelope waveform, filtering characteristic, and LFO, and a pointer section 123 for storing pointers designating the waveform data corresponding to that region. It should be noted that the waveform data pointed by the pointer section 123 are stored in the above-mentioned WAVE DATA chunk 102.
The remaining region blocks 130 through 190 are configured generally in the same manner as the above-mentioned region block 120. As described above, in the parameter section 112 of the INST block 110 and in the parameter sections 122, 132, . . . , 192 of the region blocks 120, 130, . . . , 190, parameters of the same types may be defined. If the parameters of different values are specified at plural locations for the same waveform data, high-order parameters as viewed from the INST block 110 are preferred. For example, if envelope waveforms are defined in the parameter section 122 and the parameter section 112, the definition of the parameter section 112 precedes to the definition of the parameter section 122.
This preference is given to secure the sense of integrity in the parameter section 112 when diverting a region block and waveform data originally created for one timbre to another timbre. Therefore, generally, the parameter section of the region block defines all parameters and the parameter section 112 of the INST block 110 defines only necessary parameters.
The following briefly describes an operation for generating a music tone signal in a tone generator (this may be a dedicated tone generator or a personal computer) by use of the above-mentioned timbre set file 100. First, when a program change event or a bank select event of MIDI is supplied to the tone generator, its contents are stored in the tone generator, thereby identifying an INST block 110 to be accessed.
Next, when a note-on event (accompanied by a key code and a key velocity) is supplied to the tone generator, a corresponding region block is identified, thereby the pointer section thereof identifying the waveform data to be read out. These waveform data are read out at an amplitude corresponding to the key velocity and at a pitch corresponding to the key code, thereby imparting the pitch to the music tone.
The parameter section of the corresponding region block and the parameter section 112 of the INST block 110 are read, and parameter values to be applied to the waveform data are determined while the latter precedes to the former. When the determined parameter is applied to the waveform data, the music tone signal is synthesized.
However, in the above-mentioned technology, a variation of the timbres applied to the tone signals is limited and concluded in one timbre set file. Namely, even if the user obtains a plurality of timbre set files, the user can use only the parameters and waveform data that exist in one file. Therefore, it is impossible in the related-art technology to constitute timbres based on the plural timbre set files.